home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Apple II Magazines (PO)
/
Nibble Volume 10, No. 03 (1989-03)(MicroSPARC)(Side A)[a].zip
/
Nibble Volume 10, No. 03 (1989-03)(MicroSPARC)(Side A)[a].po
/
WORKS.PROCESSOR.bas
< prev
Wrap
BASIC Source File
|
1996-12-24
|
3KB
|
72 lines
10 REM **********************
20 REM * WORKS.PROCESSOR *
30 REM * BY MIKE JETZER *
40 REM * COPYRIGHT 1989 *
50 REM * MICROSPARC, INC. *
60 REM * CONCORD, MA 01742 *
70 REM **********************
80 PRINT CHR$(21)
90 D$ = CHR$(4)
100 PRINT D$"PREFIX": INPUT PR$: PRINT D$"PREFIX"PR$
110 ONERR GOTO 500
120 PRINT D$"BLOAD WORKS.OBJ"
130 POKE 216,0: CALL 8192
140 GOTO 160
150 CALL 8398
160 IF PEEK(8195) = 1 THEN 510
170 IF CHR$( PEEK(8195) -128) = "Q" THEN 490: REM Quit
180 HOME : PRINT "Current prefix: "PR$
190 PRINT : PRINT "Get directory listing by:": PRINT
200 PRINT SPC( 9)"P - Prefix"
210 PRINT SPC( 9)"S - Slot and drive"
220 PRINT : PRINT "Choose - ";
230 POKE -16368,0: GET A$: IF A$ = CHR$(27) THEN 130
240 IF A$ < >"p" AND A$ < >"P" AND A$ < >"s" AND A$ < >"S" THEN 230
250 PRINT A$
260 IF A$ = "p" OR A$ = "P" THEN 360
270 PRINT : PRINT "Catalog slot - ";
280 POKE -16368,0: GET A$: IF A$ = CHR$(27) THEN 180
290 IF A$ <"1" OR A$ >"7" THEN 280
300 PRINT A$:DIR$ = ",s" +A$
310 PRINT " drive - ";
320 POKE -16368,0: GET A$: IF A$ = CHR$(27) THEN 180
330 IF A$ <"1" OR A$ >"2" THEN 320
340 PRINT A$:DIR$ = DIR$ +",d" +A$
350 GOTO 390
360 PRINT : PRINT "Catalog prefix (CR = current): ":ES = 0:HT = 32:VT = 10: GOSUB 560: IF ES = 1 THEN 180
370 IF C = 0 THEN IN$ = PR$
380 DIR$ = IN$
390 HOME
400 ONERR GOTO 470
410 PRINT D$"cat"DIR$
420 PRINT "Set prefix to this directory? (y/n) ";
430 GET A$: IF A$ < >"Y" AND A$ < >"y" AND A$ < >"N" AND A$ < >"n" THEN 430
440 IF A$ = "Y" OR A$ = "y" THEN PRINT D$"prefix"DIR$: PRINT D$"prefix": INPUT PR$
450 REM Repeat this loop
460 POKE 216,0: GOTO 130
470 PRINT "Unable to catalog/set prefix to desired disk."
480 PRINT : PRINT "Press Return to continue ";: GET A$: GOTO 130
490 HOME : END
500 HOME : PRINT "Cannot find WORKS.OBJ on current disk.": VTAB 23: END
510 PRINT : PRINT : PRINT "Input Pathname:";:ES = 0:HT = 16:VT = 12: GOSUB 560: IF ES = 1 OR C = 0 THEN 130
520 POKE 9511,C: FOR T = 1 TO C: POKE (9511 +T), ASC( MID$ (IN$,T,1)): NEXT
530 PRINT : PRINT : PRINT "Output Pathname:";:ES = 0:VT = 14:HT = 17: GOSUB 560: IF ES = 1 OR C = 0 THEN 130
540 POKE 9576,C: FOR T = 1 TO C: POKE (9576 +T), ASC( MID$ (IN$,T,1)): NEXT
550 GOTO 150
560 C = 1:IN$ = ""
570 HTAB HT: VTAB VT: PRINT " ": HTAB HT: VTAB VT: GET A$: IF A$ = CHR$(27) THEN ES = 1: RETURN
580 IF A$ = CHR$(13) THEN C = C -1: RETURN
590 IF A$ = CHR$(8) AND C < >1 THEN GOSUB 710: GOTO 570
600 IF C = 64 THEN 570
610 IF A$ = "." OR A$ = "/" THEN 660
620 IF A$ > = "A" AND A$ < = "Z" THEN 660
630 IF A$ > = "a" AND A$ < = "z" THEN A$ = CHR$( ASC(A$) -32): GOTO 660
640 IF A$ > = "0" AND A$ < = "9" THEN 660
650 GOTO 570
660 C = C +1: GOSUB 690: GOTO 570
670 IF HT = 1 THEN HT = 40:VT = VT -1: RETURN
680 HT = HT -1: RETURN
690 HTAB HT: VTAB VT: PRINT A$:IN$ = IN$ +A$: IF HT = 40 THEN HT = 1:VT = VT +1: RETURN
700 HT = HT +1: RETURN
710 C = C -1: IF C < >1 THEN IN$ = LEFT$(IN$,(C -1))
720 GOSUB 670: RETURN